/**
 * 版权所有(C)，上海勾芒信息科技，2017，所有权利保留。
 * 
 * 项目名：	cards-web
 * 文件名：	RsWxAppUserService.java
 * 模块说明：	
 * 修改历史：
 * 2017年4月13日 - Debenson - 创建。
 */
package com.alex.insistence.rest.user;

import javax.ws.rs.Consumes;
import javax.ws.rs.GET;
import javax.ws.rs.POST;
import javax.ws.rs.Path;
import javax.ws.rs.Produces;
import javax.ws.rs.QueryParam;

import com.gomore.jeecg.common.ServiceException;
import com.gomore.jeecg.rest.common.ContentType;

/**
 * 小程序用户相关服务
 * 
 * @author Debenson
 * @since 0.1
 */
@Path("/user")
@Consumes({
    ContentType.APPLICATION_JSON_UTF_8 })
@Produces({
    ContentType.APPLICATION_JSON_UTF_8 })
public interface RsUserService {

  /**
   * 根据客户端传过来的code从微信服务器获取appid和session_key，然后生成3rdSessionId返回给客户端，
   * 后续请求客户端传3rdSessionId来维护客户端登录态
   * 
   * @param request
   *          登录请求。
   * @return
   * @throws ServiceException
   */
  @POST
  @Path("/login")
  public RsLoginResult login(RsLoginRequest request) throws ServiceException;

  /**
   * 解密加密的用户信息。
   * 
   * @param request
   *          解决请求。
   * @throws ServiceException
   */
  @POST
  @Path("/decryptUserInfo")
  public RsAppUser decryptUserInfo(EncryptedUserInfo request) throws ServiceException;

  /**
   * 获取微信会员信息
   * 
   * @param memberCode
   * @return
   * @throws ServiceException
   */
  @GET
  @Path("/getMemberInfo")
  public RsMember getMemberInfo(@QueryParam("memberCode") String memberCode)
      throws ServiceException;

}
